home *** CD-ROM | disk | FTP | other *** search
/ Aminet 48 / Aminet 48 (2002)(GTI - Schatztruhe)[!][Apr 2002].iso / Aminet / text / edit / vim60rt.lha / Vim / vim60 / syntax / csc.vim < prev    next >
Encoding:
Text File  |  2001-09-25  |  8.5 KB  |  200 lines

  1. " Vim syntax file
  2. " Language: Essbase script
  3. " Maintainer:    Raul Segura Acevedo <raulseguraaceved@netscape.net>
  4. " Last change:    2001 Sep 25
  5.  
  6. " For version 5.x: Clear all syntax items
  7. " For version 6.x: Quit when a syntax file was already loaded
  8. if version < 600
  9.     syntax clear
  10. elseif exists("b:current_syntax")
  11.     finish
  12. endif
  13.  
  14. " folds: fix/endfix and comments
  15. sy    region    EssFold start="\<Fix" end="EndFix" transparent fold
  16.  
  17. sy    keyword    cscTodo contained TODO FIXME XXX
  18.  
  19. " cscCommentGroup allows adding matches for special things in comments
  20. sy    cluster cscCommentGroup contains=cscTodo
  21.  
  22. " Strings in quotes
  23. sy    match    cscError    '"'
  24. sy    match    cscString    '"[^"]*"'
  25.  
  26. "when wanted, highlight trailing white space
  27. if exists("csc_space_errors")
  28.     if !exists("csc_no_trail_space_error")
  29.         sy    match    cscSpaceE    "\s\+$"
  30.     endif
  31.     if !exists("csc_no_tab_space_error")
  32.         sy    match    cscSpaceE    " \+\t"me=e-1
  33.     endif
  34. endif
  35.  
  36. "catch errors caused by wrong parenthesis and brackets
  37. sy    cluster    cscParenGroup    contains=cscParenE,@cscCommentGroup,cscUserCont,cscBitField,cscFormat,cscNumber,cscFloat,cscOctal,cscNumbers,cscIfError,cscComW,cscCom,cscFormula,cscBPMacro
  38. sy    region    cscParen    transparent start='(' end=')' contains=ALLBUT,@cscParenGroup
  39. sy    match    cscParenE    ")"
  40.  
  41. "integer number, or floating point number without a dot and with "f".
  42. sy    case    ignore
  43. sy    match    cscNumbers    transparent "\<\d\|\.\d" contains=cscNumber,cscFloat,cscOctal
  44. sy    match    cscNumber    contained "\d\+\(u\=l\{0,2}\|ll\=u\)\>"
  45. "hex number
  46. sy    match    cscNumber    contained "0x\x\+\(u\=l\{0,2}\|ll\=u\)\>"
  47. " Flag the first zero of an octal number as something special
  48. sy    match    cscOctal    contained "0\o\+\(u\=l\{0,2}\|ll\=u\)\>"
  49. sy    match    cscFloat    contained "\d\+f"
  50. "floating point number, with dot, optional exponent
  51. sy    match    cscFloat    contained "\d\+\.\d*\(e[-+]\=\d\+\)\=[fl]\="
  52. "floating point number, starting with a dot, optional exponent
  53. sy    match    cscFloat    contained "\.\d\+\(e[-+]\=\d\+\)\=[fl]\=\>"
  54. "floating point number, without dot, with exponent
  55. sy    match    cscFloat    contained "\d\+e[-+]\=\d\+[fl]\=\>"
  56.  
  57. sy    region    cscComment    start="/\*" end="\*/" contains=@cscCommentGroup,cscSpaceE fold
  58. sy    match    cscCommentE    "\*/"
  59.  
  60. sy    keyword    cscIfError    IF ELSE ENDIF ELSEIF
  61. sy    keyword    cscCondition    contained IF ELSE ENDIF ELSEIF
  62. sy    keyword    cscFunction    contained VARPER VAR UDA TRUNCATE SYD SUMRANGE SUM
  63. sy    keyword    cscFunction    contained STDDEVRANGE STDDEV SPARENTVAL SLN SIBLINGS SHIFT
  64. sy    keyword    cscFunction    contained SANCESTVAL RSIBLINGS ROUND REMAINDER RELATIVE PTD
  65. sy    keyword    cscFunction    contained PRIOR POWER PARENTVAL NPV NEXT MOD MINRANGE MIN
  66. sy    keyword    cscFunction    contained MDSHIFT MDPARENTVAL MDANCESTVAL MAXRANGE MAX MATCH
  67. sy    keyword    cscFunction    contained LSIBLINGS LEVMBRS LEV
  68. sy    keyword    cscFunction    contained ISUDA ISSIBLING ISSAMELEV ISSAMEGEN ISPARENT ISMBR
  69. sy    keyword    cscFunction    contained ISLEV ISISIBLING ISIPARENT ISIDESC ISICHILD ISIBLINGS
  70. sy    keyword    cscFunction    contained ISIANCEST ISGEN ISDESC ISCHILD ISANCEST ISACCTYPE
  71. sy    keyword    cscFunction    contained IRSIBLINGS IRR INTEREST INT ILSIBLINGS IDESCENDANTS
  72. sy    keyword    cscFunction    contained ICHILDREN IANCESTORS IALLANCESTORS
  73. sy    keyword    cscFunction    contained GROWTH GENMBRS GEN FACTORIAL DISCOUNT DESCENDANTS
  74. sy    keyword    cscFunction    contained DECLINE CHILDREN CURRMBRRANGE CURLEV CURGEN
  75. sy    keyword    cscFunction    contained COMPOUNDGROWTH COMPOUND AVGRANGE AVG ANCESTVAL
  76. sy    keyword    cscFunction    contained ANCESTORS ALLANCESTORS ACCUM ABS
  77. sy    keyword    cscFunction    contained @VARPER @VAR @UDA @TRUNCATE @SYD @SUMRANGE @SUM
  78. sy    keyword    cscFunction    contained @STDDEVRANGE @STDDEV @SPARENTVAL @SLN @SIBLINGS @SHIFT
  79. sy    keyword    cscFunction    contained @SANCESTVAL @RSIBLINGS @ROUND @REMAINDER @RELATIVE @PTD
  80. sy    keyword    cscFunction    contained @PRIOR @POWER @PARENTVAL @NPV @NEXT @MOD @MINRANGE @MIN
  81. sy    keyword    cscFunction    contained @MDSHIFT @MDPARENTVAL @MDANCESTVAL @MAXRANGE @MAX @MATCH
  82. sy    keyword    cscFunction    contained @LSIBLINGS @LEVMBRS @LEV
  83. sy    keyword    cscFunction    contained @ISUDA @ISSIBLING @ISSAMELEV @ISSAMEGEN @ISPARENT @ISMBR
  84. sy    keyword    cscFunction    contained @ISLEV @ISISIBLING @ISIPARENT @ISIDESC @ISICHILD @ISIBLINGS
  85. sy    keyword    cscFunction    contained @ISIANCEST @ISGEN @ISDESC @ISCHILD @ISANCEST @ISACCTYPE
  86. sy    keyword    cscFunction    contained @IRSIBLINGS @IRR @INTEREST @INT @ILSIBLINGS @IDESCENDANTS
  87. sy    keyword    cscFunction    contained @ICHILDREN @IANCESTORS @IALLANCESTORS
  88. sy    keyword    cscFunction    contained @GROWTH @GENMBRS @GEN @FACTORIAL @DISCOUNT @DESCENDANTS
  89. sy    keyword    cscFunction    contained @DECLINE @CHILDREN @CURRMBRRANGE @CURLEV @CURGEN
  90. sy    keyword    cscFunction    contained @COMPOUNDGROWTH @COMPOUND @AVGRANGE @AVG @ANCESTVAL
  91. sy    keyword    cscFunction    contained @ANCESTORS @ALLANCESTORS @ACCUM @ABS
  92. sy    match    cscFunction    contained "@"
  93. sy    match    cscError    "@\s*\a*" contains=cscFunction
  94.  
  95. sy    match    cscStatement    "&"
  96. sy    keyword    cscStatement    AGG ARRAY VAR CCONV CLEARDATA DATACOPY
  97.  
  98. sy    match    cscComE    contained "^\s*CALC.*"
  99. sy    match    cscComE    contained "^\s*CLEARBLOCK.*"
  100. sy    match    cscComE    contained "^\s*SET.*"
  101. sy    match    cscComE    contained "^\s*FIX"
  102. sy    match    cscComE    contained "^\s*ENDFIX"
  103. sy    match    cscComE    contained "^\s*ENDLOOP"
  104. sy    match    cscComE    contained "^\s*LOOP"
  105. " sy    keyword    cscCom    FIX ENDFIX LOOP ENDLOOP
  106.  
  107. sy    match    cscComW    "^\s*CALC.*"
  108. sy    match    cscCom    "^\s*CALC\s*ALL"
  109. sy    match    cscCom    "^\s*CALC\s*AVERAGE"
  110. sy    match    cscCom    "^\s*CALC\s*DIM"
  111. sy    match    cscCom    "^\s*CALC\s*FIRST"
  112. sy    match    cscCom    "^\s*CALC\s*LAST"
  113. sy    match    cscCom    "^\s*CALC\s*TWOPASS"
  114.  
  115. sy    match    cscComW    "^\s*CLEARBLOCK.*"
  116. sy    match    cscCom    "^\s*CLEARBLOCK\s\+ALL"
  117. sy    match    cscCom    "^\s*CLEARBLOCK\s\+UPPER"
  118. sy    match    cscCom    "^\s*CLEARBLOCK\s\+NONINPUT"
  119.  
  120. sy    match    cscComW    "^\s*\<SET.*"
  121. sy    match    cscCom    "^\s*\<SET\s\+Commands"
  122. sy    match    cscCom    "^\s*\<SET\s\+AGGMISSG"
  123. sy    match    cscCom    "^\s*\<SET\s\+CACHE"
  124. sy    match    cscCom    "^\s*\<SET\s\+CALCHASHTBL"
  125. sy    match    cscCom    "^\s*\<SET\s\+CLEARUPDATESTATUS"
  126. sy    match    cscCom    "^\s*\<SET\s\+FRMLBOTTOMUP"
  127. sy    match    cscCom    "^\s*\<SET\s\+LOCKBLOCK"
  128. sy    match    cscCom    "^\s*\<SET\s\+MSG"
  129. sy    match    cscCom    "^\s*\<SET\s\+NOTICE"
  130. sy    match    cscCom    "^\s*\<SET\s\+UPDATECALC"
  131. sy    match    cscCom    "^\s*\<SET\s\+UPTOLOCAL"
  132.  
  133. sy    keyword    cscBPMacro    contained !LoopOnAll !LoopOnLevel !LoopOnSelected
  134. sy    keyword    cscBPMacro    contained !CurrentMember !LoopOnDimensions !CurrentDimension
  135. sy    keyword    cscBPMacro    contained !CurrentOtherLoopDimension !LoopOnOtherLoopDimensions
  136. sy    keyword    cscBPMacro    contained !EndLoop !AllMembers !SelectedMembers !If !Else !EndIf
  137. sy    keyword    cscBPMacro    contained LoopOnAll LoopOnLevel LoopOnSelected
  138. sy    keyword    cscBPMacro    contained CurrentMember LoopOnDimensions CurrentDimension
  139. sy    keyword    cscBPMacro    contained CurrentOtherLoopDimension LoopOnOtherLoopDimensions
  140. sy    keyword    cscBPMacro    contained EndLoop AllMembers SelectedMembers If Else EndIf
  141. sy    match    cscBPMacro    contained    "!"
  142. sy    match    cscBPW    "!\s*\a*"    contains=cscBPmacro
  143.  
  144. " when wanted, highlighting lhs members or erros in asignments (may lag the editing)
  145. if version >= 600 && exists("csc_asignment")
  146.     sy    match    cscEqError    '\("[^"]*"\s*\|[^][\t !%()*+,--/:;<=>{}~]\+\s*\|->\s*\)*=\([^=]\@=\|$\)'
  147.     sy    region    cscFormula    transparent matchgroup=cscVarName start='\("[^"]*"\|[^][\t !%()*+,--/:;<=>{}~]\+\)\s*=\([^=]\@=\|\n\)' skip='"[^"]*"' end=';' contains=ALLBUT,cscFormula,cscFormulaIn,cscBPMacro,cscCondition
  148.     sy    region    cscFormulaIn    matchgroup=cscVarName transparent start='\("[^"]*"\|[^][\t !%()*+,--/:;<=>{}~]\+\)\(->\("[^"]*"\|[^][\t !%()*+,--/:;<=>{}~]\+\)\)*\s*=\([^=]\@=\|$\)' skip='"[^"]*"' end=';' contains=ALLBUT,cscFormula,cscFormulaIn,cscBPMacro,cscCondition contained
  149.     sy    match    cscEq    "=="
  150. endif
  151.  
  152. if !exists("csc_minlines")
  153.     let csc_minlines = 50    " mostly for () constructs
  154. endif
  155. exec "sy sync ccomment cscComment minlines=" . csc_minlines
  156.  
  157. " Define the default highlighting.
  158. " For version 5.7 and earlier: only when not done already
  159. " For version 5.8 and later: only when an item doesn't have highlighting yet
  160. if version >= 508 || !exists("did_csc_syntax_inits")
  161.     if version < 508
  162.         let did_csc_syntax_inits = 1
  163.         command -nargs=+ HiLink hi link <args>
  164.     else
  165.         command -nargs=+ HiLink hi def link <args>
  166.     endif
  167.  
  168.     hi cscVarName term=bold ctermfg=9 gui=bold guifg=blue
  169.  
  170.     HiLink    cscNumber    Number
  171.     HiLink    cscOctal    Number
  172.     HiLink    cscFloat    Float
  173.     HiLink    cscParenE    Error
  174.     HiLink    cscCommentE    Error
  175.     HiLink    cscSpaceE    Error
  176.     HiLink    cscError    Error
  177.     HiLink    cscString    String
  178.     HiLink    cscComment    Comment
  179.     HiLink    cscTodo        Todo
  180.     HiLink    cscStatement    Statement
  181.     HiLink    cscIfError    Error
  182.     HiLink    cscEqError    Error
  183.     HiLink    cscFunction    Statement
  184.     HiLink    cscCondition    Statement
  185.     HiLink    cscWarn        WarningMsg
  186.  
  187.     HiLink    cscComE    Error
  188.     HiLink    cscCom    Statement
  189.     HiLink    cscComW    WarningMsg
  190.  
  191.     HiLink    cscBPMacro    Identifier
  192.     HiLink    cscBPW        WarningMsg
  193.  
  194.     delcommand HiLink
  195. endif
  196.  
  197. let b:current_syntax = "csc"
  198.  
  199. " vim: ts=8
  200.